package com.foreveross.util;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class MD5Util {
	
	/**
	 * MD5加密    
	 * @param password : 要加密的密码
	 * @return
	 */
    public final static String MD5Encryption(String password) {   
        StringBuffer hexString = new StringBuffer();   
        if (password != null && password.trim().length() != 0) {   
            try {   
            	// 获得MD5摘要算法的 MessageDigest 对象
                MessageDigest md = MessageDigest.getInstance("MD5"); 
                // 使用指定的字节更新摘要
                md.update(password.getBytes());  
                // 获得密文
                byte[] hash = md.digest();   
                // 把密文转换成十六进制的字符串形式
                for (int i = 0; i < hash.length; i++) {   
                    if ((0xff & hash[i]) < 0x10) {   
                        hexString.append("0" + Integer.toHexString((0xFF & hash[i])));   
                    } else {   
                        hexString.append(Integer.toHexString(0xFF & hash[i]));   
                    }   
                }   
            } catch (NoSuchAlgorithmException e) {   
                e.printStackTrace();   
            }   
  
        }   
        return hexString.toString();   
    } 

	public static void main(String[] args) {
		System.out.println(MD5Util.MD5Encryption("password"));
	}
}
